\begin{problem}
{Минимум и максимум}{minmax.in}{minmax.out}{2 секунды}
{64 мегабайта}

Пусть есть множество целых чисел.
Необходимо реализовать структуру данных для их хранения, поддерживающую следующие операции:
\texttt{GetMin}~--- извлечение минимума,
\texttt{GetMax}~--- извлечение максимума,
\texttt{Insert(N)}~--- добавление числа в множество.

\InputFile

В первой строке входного файла записано одно целое число $N$
($1 \leqslant N \leqslant 100\,000$)~--- число запросов к структуре.
Затем в~$N$ строках следуют запросы по одному в строке:
\texttt{GetMin}, \texttt{GetMax}, \texttt{Insert(A)}~---
извлечение минимума, максимума и добавление числа $A$
($1 \leqslant A \leqslant 2^{31}-1$).
Запросы корректны, то есть нет операций извлечения для пустого множества. 

\OutputFile

Для каждого запроса \texttt{GetMin} или \texttt{GetMax} выведите то число, которое было извлечено.

\Examples

\begin{example}
\exmp{10
Insert(100)
Insert(99)
Insert(1)
Insert(2)
GetMin
GetMax
Insert(1)
GetMin
GetMin
GetMax
}{1
100
1
2
99
}%
\end{example}

\end{problem}
